<template>
	<view class="">
		<htmlHeadh5></htmlHeadh5>
		<uni-list>
			<uni-list-item v-for="(item, index) in pageData" :key="index"  
				clickable @click="onClick(item)"
				:title="item.title.length > 20?item.title.substring(0, 20)+'...':item.title.substring(0, 20)" 
				:thumb="item.image1"
				thumb-size="lg" 
				:note="vk.pubfn.timeFormat(item._add_time,'yyyy-MM-dd') + '---阅读'+item.ydcs">
				</uni-list-item>
		</uni-list>
		<uni-pagination style="margin: 10px;padding: 10px;" :total="listCont" title="标题文字" @change="change"/>
		<htmlFooth5></htmlFooth5>
	</view>
</template>

<script>
	var _this;
	import htmlHeadh5 from "@/components/html/html-headh5.vue";
	import htmlFooth5 from "@/components/html/html-footh5.vue";
	var vk = uni.vk;
	export default {
		components: {
			htmlHeadh5,
			htmlFooth5
		},
		data() {
			// 页面数据变量
			return {
				listCont:0,
				listtemp: null,
				pageData: null,
				options: {},
				datalist: null,
				reslist:null,
				pageindex:1,
				status: 'more',
				statusTypes: [{
					value: 'more',
					text: '加载前',
					checked: true
				}, {
					value: 'loading',
					text: '加载中',
					checked: false
				}, {
					value: 'noMore',
					text: '没有更多',
					checked: false
				}],
			}
		},
		// 监听 - 页面每次【加载时】执行(如：前进)
		async onLoad(options = {}) {
			vk = uni.vk;
			_this = this;
			this.options = options;
			let arr = options.tempdata.split(",");
			await this.getNewsListAllPuls(arr,options.xwlx);
			this.pageData = this.paginate(this.listtemp, 10, 1)
		},
		onReachBottom() {
			//_this.pageindex++
			//_this.getDatanows()
		},
		// 监听 - 页面【首次渲染完成时】执行。注意如果渲染速度快，会在页面进入动画完成前触发
		onReady(){
			
		},
		// 监听 - 页面每次【显示时】执行(如：前进和返回) (页面每次出现在屏幕上都触发，包括从下级页面点返回露出当前页面)
		onShow() {
			
		},
		// 监听 - 页面每次【隐藏时】执行(如：返回)
		onHide() {
			
		},
		// 函数
		methods: {
			onClick(item){
				// console.log(item)
				// vk.navigateTo('/pages/ydd/details');
				if(item.nrtype == 'hyfc'){
					window.open(item.linkdizhi)
					return
				}
				vk.navigateTo({
				  url: `/pages/ydd/details`,
				  events: {
				    // 为指定事件添加一个监听器，获取被打开页面传送到当前页面的数据
				    update: (data) => {
				      // 当B页面运行 eventChannel.emit('update', { a:1 }); 时，会运行这里的代码逻辑。
				      
				    }
				  },
				  success: (res) => {
				    // 通过eventChannel向被打开页面传送数据
				    res.eventChannel.emit('datas', item)
				  }
				})
			},
			getNewsListAllPuls(nrtype,xwlx) {
				return vk.callFunction({
					url: 'client/hymbjy/pub/news.getNewsListAllPuls',
					data: {
						nrtype:nrtype,
						xwlx:xwlx
					}
				}).then((data) => {
					//this.datalist = data.list
					this.listCont = data.list.length
					this.listtemp = data.list
				}).catch((err) => {

				});
			},
			getDatanows(){
				// promise方式
				return vk.callFunction({
				  url: 'client/jp/pub/jpapi.getList',
				  title:'请求中...',
				  data:{
				    pageindex:_this.pageindex,
				    pagesize:5
				  }
				}).then((data) => {
					console.log(data)
					if(data.list.length == 0){
						vk.toast("已经没有更多内容", "none", 1000); // 修改时间延迟
						this.status = 'noMore'
					}
				 //this.reslist = data.list
				 
				 let resDataArr=[...this.reslist,...data.list]
				 this.reslist=resDataArr
				}).catch((err) => {
				  
				});
			},
			paginate(items, pageSize, pageNum) {
				//var pageSize = 10; // 每页10个项目  
				//var pageNum = 2;   // 请求第2页  
				
			    // 确保页码是整数并且不小于1  
			    pageNum = Math.max(1, Math.floor(pageNum));  
			  
			    // 计算起始索引  
			    var startIndex = (pageNum - 1) * pageSize;  
			  
			    // 确保起始索引不会超过数组长度  
			    startIndex = Math.min(startIndex, items.length);  
			  
			    // 计算结束索引  
			    var endIndex = startIndex + pageSize;  
			  
			    // 如果结束索引超过数组长度，则将其设置为数组长度  
			    endIndex = Math.min(endIndex, items.length);  
			  
			    // 返回指定页的数据  
			    return items.slice(startIndex, endIndex);  
			},
			change(e) {
				this.pageData = this.paginate(this.listtemp, 10, e.current);  
			},
			
		}
	}
</script>
<style lang="scss" scoped>
	.zz{position: relative;
    right: 5px;}
	
</style>